home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat2 / standard / attr_remove.z / attr_remove
Encoding:
Text File  |  2002-10-03  |  7.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))                                                  AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      attr_remove, attr_removef - remove a user attribute of a filesystem
  10.      object
  11.  
  12. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////aaaattttttttrrrriiiibbbbuuuutttteeeessss....hhhh>>>>
  14.  
  15.      iiiinnnntttt aaaattttttttrrrr____rrrreeeemmmmoooovvvveeee ((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ppppaaaatttthhhh,,,, ccccoooonnnnsssstttt cccchhhhaaaarrrr ****aaaattttttttrrrrnnnnaaaammmmeeee,,,, iiiinnnntttt ffffllllaaaaggggssss))));;;;
  16.  
  17.      iiiinnnntttt aaaattttttttrrrr____rrrreeeemmmmoooovvvveeeeffff ((((iiiinnnntttt ffffdddd,,,, ccccoooonnnnsssstttt cccchhhhaaaarrrr ****aaaattttttttrrrrnnnnaaaammmmeeee,,,, iiiinnnntttt ffffllllaaaaggggssss))));;;;
  18.  
  19. OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
  20.      The _a_t_t_r group of system calls implement the ability for a user to attach
  21.      name/value pairs to objects within the filesystem.
  22.  
  23.      They could be used to store meta-information about the file.  For example
  24.      "character-set=kanji" could tell a document browser to use the Kanji
  25.      character set when displaying that document and "thumbnail=..." could
  26.      provide a reduced resolution overview of a high resolution graphic image.
  27.  
  28.      The _n_a_m_e_s can be up to MAXNAMELEN bytes in length, terminated by the
  29.      first 0 byte.  The intent is that they be printable ASCII (or other
  30.      character set) names for the attribute.
  31.  
  32.      The _v_a_l_u_e_s can be up to ATTR_MAX_VALUELEN (currently 64KB) of arbitrary
  33.      binary data.
  34.  
  35.      Attributes can be attached to all types of inodes:  regular files,
  36.      directories, symbolic links, device nodes, etc.
  37.  
  38.      There are 2 disjoint attribute name spaces associated with every
  39.      filesystem object.  They are the rrrrooooooootttt and uuuusssseeeerrrr address spaces.  The rrrrooooooootttt
  40.      address space is accessible only to privileged users, and only then by
  41.      specifying a flag argument to the function call.  A privileged user can
  42.      be either the superuser in an IIIIRRRRIIIIXXXX environment, or a user with
  43.      CCCCAAAAPPPP____DDDDEEEEVVVVIIIICCCCEEEE____MMMMGGGGTTTT capability.  Other users will not see or be able to modify
  44.      attributes in the rrrrooooooootttt address space.  The uuuusssseeeerrrr address space is
  45.      protected by the normal file permissions mechanism, so the owner of the
  46.      file can decide who is able to see and/or modify the value of attributes
  47.      on any particular file.
  48.  
  49.      Attributes are currently fully supported only in the XFS and CXFS
  50.      filesystem types.  Other filesystem types may provide a partial
  51.      implementation.
  52.  
  53. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  54.      The _a_t_t_r__r_e_m_o_v_e and _a_t_t_r__r_e_m_o_v_e_f functions provide a way to remove
  55.      previously created attributes from filesystem objects.
  56.  
  57.      _P_a_t_h points to a path name for a filesystem object, and _f_d refers to the
  58.      file descriptor associated with a file.  If the attribute _a_t_t_r_n_a_m_e
  59.      exists, the attribute name and value will be removed from the fileystem
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))                                                  AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))
  71.  
  72.  
  73.  
  74.      object.  The _f_l_a_g_s argument can contain the following symbols bitwise
  75.      OR'ed together:
  76.  
  77.      ATTR_ROOT
  78.           Look for _a_t_t_r_n_a_m_e in the rrrrooooooootttt address space, not in the uuuusssseeeerrrr address
  79.           space.  (limited to use by super-user only)
  80.  
  81.      ATTR_DONTFOLLOW
  82.           Do not follow symbolic links when resolving a _p_a_t_h on an _a_t_t_r__r_e_m_o_v_e
  83.           function call.  The default is to follow symbolic links.
  84.  
  85.      _a_t_t_r__r_e_m_o_v_e will fail if one or more of the following are true:
  86.  
  87.      [ENOATTR]        The attribute name given is not associated with the
  88.                       indicated filesystem object.
  89.  
  90.      [ENOENT]         The named file does not exist.
  91.  
  92.      [EPERM]          The effective user ID does not match the owner of the
  93.                       file and the effective user ID is not super-user.
  94.  
  95.      [ENOTDIR]        A component of the path prefix is not a directory.
  96.  
  97.      [EACCES]         Search permission is denied on a component of the path
  98.                       prefix.
  99.  
  100.      [EINVAL]         A bit was set in the _f_l_a_g argument that is not defined
  101.                       for this system call.
  102.  
  103.      [EFAULT]         _P_a_t_h points outside the allocated address space of the
  104.                       process.
  105.  
  106.      [ELOOP]          A path name lookup involved too many symbolic links.
  107.  
  108.      [ENAMETOOLONG]   The length of _p_a_t_h exceeds {_M_A_X_P_A_T_H_L_E_N}, or a pathname
  109.                       component is longer than {_M_A_X_N_A_M_E_L_E_N}.
  110.  
  111.      _a_t_t_r__r_e_m_o_v_e_f will fail if:
  112.  
  113.      [ENOATTR]      The attribute name given is not associated with the
  114.                     indicated filesystem object.
  115.  
  116.      [EINVAL]       A bit was set in the _f_l_a_g argument that is not defined for
  117.                     this system call, or _f_d refers to a socket, not a file.
  118.  
  119.      [EFAULT]       _A_t_t_r_n_a_m_e points outside the allocated address space of the
  120.                     process.
  121.  
  122.      [EBADF]        _F_d does not refer to a valid descriptor.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))                                                  AAAATTTTTTTTRRRR____RRRREEEEMMMMOOOOVVVVEEEE((((2222))))
  137.  
  138.  
  139.  
  140. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  141.      attr(1),
  142.      attr_get(2), attr_getf(2),
  143.      attr_list(2), attr_listf(2)
  144.      attr_multi(2), attr_multif(2)
  145.      attr_set(2), attr_setf(2),
  146.  
  147. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  148.      Upon successful completion, a value of 0 is returned.  Otherwise, a value
  149.      of -1 is returned and _e_r_r_n_o is set to indicate the error.
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.